home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swagn_r.zip / NUMBERS.SWG / 0011_DEC2BIN2.PAS.pas < prev    next >
Pascal/Delphi Source File  |  1993-05-28  |  711b  |  35 lines

  1. { True so here is another version of the process that returns a String : }
  2.  
  3. Program Dec2BinRec;
  4.  
  5. Type
  6.   Str32 = String[32];
  7.  
  8. Function Dec2BinStr(aNumber : LongInt) : Str32;
  9.  
  10.   Function Bit(aBit : Byte) : Char;
  11.   (* return either Char '0' or Char '1' *)
  12.   begin
  13.     if aBit = 0 then
  14.       Bit := '0'
  15.     else
  16.       Bit := '1'
  17.   end;
  18.  
  19. begin
  20.   If aNumber = 0 Then
  21.     Dec2BinStr := ''   (* done With recursion ?*)
  22.   else                                (* convert high bits + last bit *)
  23.     Dec2BinStr := Dec2BinStr(ANumber Div 2) + Bit(aNumber Mod 2);
  24. end;
  25.  
  26. Var
  27.   L : LongInt;
  28. begin
  29.   Repeat
  30.     Readln (L);
  31.     If L <> 0 then
  32.       Writeln(Dec2BinStr(L));
  33.   Until (L = 0)
  34. end.
  35.